The present invention relates generally to the field of telephone communications, and more particularly to a method of and system for providing single-ended echo cancellation in telephone calls.
When telephone calls began spanning very long distances, echo signals became an annoying problem. Echo signals arise mainly at the hybrid that interfaces the network to a two-wire subscriber loop. The role of the hybrid is to separate incoming and outgoing analog signals. In practice, hybrids cannot perfectly match at all frequencies the varying circuit impedances along the subscriber loop and the receive and transmit ports. Therefore, a small amount of a received signal is retransmitted back to the sender. This causes telephone users to hear their own speech repeated back to them on a delayed basis.
In long distance telephony, this undesirable echo effect has been effectively mitigated by sophisticated echo cancellers that can recognize and adaptively counteract echo signals. More recently, however, echo, problems have re-emerged in the field of mobile telephony. Even on a local call, a digital telephone introduces some absolute delay as it encodes a voice signal. This delay can be comparable to the delays normally observed for long distance calls.
Typical local telephone exchanges do not incorporate echo cancellation because it has been previously thought to be necessary only for long distance traffic. A mobile user will often hear an echo signal depending on the quality of the hybrid circuit at the other end of the conversation.
A technique is required for providing improved echo cancellation, especially for mobile (i.e., cellular, PCS, etc.) phone users, that does not rely upon the traditional echo cancellers built into the interexchange network. This technique is also required for international calls to countries in which domestic long distance phone systems do not offer reliable or effective echo cancellation.
The present invention provides a method of and system for canceling echos at the first end of a telephone call. The present invention marks every other byte of a first digital representation of a first analog signal originating at the first end of the call with a signature. The invention receives a second digital representation of a second analog signal from the second end of the call and splits the second digital representation into a stream of odd number bytes and a stream of even number bytes. The invention analyzes the streams of bytes for the presence of the signature and converts one of the streams of bytes to a third analog signal if the signature is detected.
Preferably, the invention marks every other byte of the first digital representation with a signature by replacing every other byte of the first digital representation with a fixed value byte. The fixed value byte preferably has a value equal to the maximum value for a byte of the first digital representation. The signature is detected as a fixed offset in one of the streams of bytes received at the first end. If there is an echo, one of the streams of bytes will include an echo of the fixed value byte signature as an offset. The other stream of bytes will include an echo of the first analog signal. By converting the stream of bytes with the offset to an analog signal, the echo is removed.
The present invention converts the first analog signal to the first digital representation by sampling the first analog signal a first sampling rate, which is preferably the conventional 8 KHz sampling rate. The second digital representation is also formed by sampling the second analog signal at the conventional 8 KHz sampling rate. The present invention synchronizes the sampling of the first and second analog signals so that a maximum signature may be detected at the first end.